#ifndef _KC_SYSTEMSTATUS_H__KC_
#define _KC_SYSTEMSTATUS_H__KC_

#include <string>
#include <boost/date_time/posix_time/posix_time_types.hpp>
#include "../db/Archive.h"
#include "../db/MySQLConnector.h"

namespace kc_sf
{
	class SystemStatus
	{
		public:

			SystemStatus( int period_s = 5 );
			~SystemStatus();

			void start();

		private:

			int s_period;
			MySQLConnector s_conn;
			std::string s_db_start_id;

			unsigned int s_connections_in;	// liczba wiadomosci w kolejce wiadomosci przychodzacych od poprzedniej migawki
			unsigned int s_connections_out;	// liczba wiadomosci w kolejce wiadomosci wychodzacych od poprzedniej migawki

			unsigned int s_input_msg_queue_size;	// liczba wiadomosci w kolejce wiadomosci przychodzacych od poprzedniej migawki
			unsigned int s_output_msg_queue_size;	// liczba wiadomosci w kolejce wiadomosci wychodzacych od poprzedniej migawki

			boost::posix_time::ptime makeSnapshot();
	};
}

#endif // _KC_SYSTEMSTATUS_H__KC_
